Geographic Boudary

Three Counties

Source: TIGER data base, calculated for use with Census 2010

Land area measurements are originally recorded as whole square meters sq.m = sq.km* 1,000,000; sq.km = sq.mi* 2.58999; sq.m = sq.mi* 2,589,988).

portland_city_place <- places("41", cb = FALSE, year = 2019) %>% filter(NAME=="Portland")
# pdx_md<- metro_divisions(year=2019)  no protland #CBSAFP=="38900", CSAFP=="440", NAME %in% grepl("Portland", NAME)
# ua <-  urban_areas(year=2019) 
# tri_cou <- c(Multnomah = "41051", Washington = "41067", Clackamas = "41005") #, Yamhill = "41071" , Clark = "53011"
tri_cou <- c('051','067','005')# "Multnomah", "Washington", "Clackamas"
pdx_counties <- counties("41", cb = FALSE, year = 2019) %>% filter(NAME %in% tri_cou) # GEOID==tri_cou
pdx_tr <- tracts(state = "41",county = tri_cou, cb = FALSE, year = 2019)
pdx_bg <- block_groups(state = "41",county = tri_cou, cb = FALSE, year = 2019)
# pdx_bg <- pdx_bg %>% filter(str_sub(GEOID10, 1, 5)  %in% tri_cou)

ACS Variables

vars <- load_variables(2019, "acs5")
# View(vars)
str(vars)
## tibble [27,040 × 3] (S3: tbl_df/tbl/data.frame)
##  $ name   : chr [1:27040] "B01001_001" "B01001_002" "B01001_003" "B01001_004" ...
##  $ label  : chr [1:27040] "Estimate!!Total:" "Estimate!!Total:!!Male:" "Estimate!!Total:!!Male:!!Under 5 years" "Estimate!!Total:!!Male:!!5 to 9 years" ...
##  $ concept: chr [1:27040] "SEX BY AGE" "SEX BY AGE" "SEX BY AGE" "SEX BY AGE" ...
length(unique(vars$concept))
## [1] 1135

Total Population

(pop_tract <- get_acs(
  state = "41",
  county = tri_cou,
  geography = "tract",
  variables = c("B01003_001"),cache_table = T
)) %>% str()
## tibble [355 × 5] (S3: tbl_df/tbl/data.frame)
##  $ GEOID   : chr [1:355] "41005020100" "41005020200" "41005020302" "41005020303" ...
##  $ NAME    : chr [1:355] "Census Tract 201, Clackamas County, Oregon" "Census Tract 202, Clackamas County, Oregon" "Census Tract 203.02, Clackamas County, Oregon" "Census Tract 203.03, Clackamas County, Oregon" ...
##  $ variable: chr [1:355] "B01003_001" "B01003_001" "B01003_001" "B01003_001" ...
##  $ estimate: num [1:355] 3984 6258 4019 6112 5697 ...
##  $ moe     : num [1:355] 255 332 282 339 256 292 183 207 306 161 ...

There is not driver information.

Five Variables about Vehicle Available

vars %>% dplyr::filter(grepl("Total:!!No vehicle available",label)) %>% kbl() %>% 
  kable_styling(bootstrap_options = c("striped", "hover", "condensed"), font_size = 7)
name label concept
B08014_002 Estimate!!Total:!!No vehicle available SEX OF WORKERS BY VEHICLES AVAILABLE
B08141_002 Estimate!!Total:!!No vehicle available MEANS OF TRANSPORTATION TO WORK BY VEHICLES AVAILABLE
B08201_002 Estimate!!Total:!!No vehicle available HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08203_002 Estimate!!Total:!!No vehicle available NUMBER OF WORKERS IN HOUSEHOLD BY VEHICLES AVAILABLE
B08541_002 Estimate!!Total:!!No vehicle available MEANS OF TRANSPORTATION TO WORK BY VEHICLES AVAILABLE FOR WORKPLACE GEOGRAPHY

Vehicle Available by Workers

  • SEX OF WORKERS BY VEHICLES AVAILABLE

  • MEANS OF TRANSPORTATION TO WORK BY VEHICLES AVAILABLE

vars %>% filter(name %in% c(paste0("B08014_00", 2:9),paste0("B08141_00", 2:9))) %>% kbl() %>% 
  kable_styling(bootstrap_options = c("striped", "hover", "condensed"), font_size = 7)
name label concept
B08014_002 Estimate!!Total:!!No vehicle available SEX OF WORKERS BY VEHICLES AVAILABLE
B08014_003 Estimate!!Total:!!1 vehicle available SEX OF WORKERS BY VEHICLES AVAILABLE
B08014_004 Estimate!!Total:!!2 vehicles available SEX OF WORKERS BY VEHICLES AVAILABLE
B08014_005 Estimate!!Total:!!3 vehicles available SEX OF WORKERS BY VEHICLES AVAILABLE
B08014_006 Estimate!!Total:!!4 vehicles available SEX OF WORKERS BY VEHICLES AVAILABLE
B08014_007 Estimate!!Total:!!5 or more vehicles available SEX OF WORKERS BY VEHICLES AVAILABLE
B08014_008 Estimate!!Total:!!Male: SEX OF WORKERS BY VEHICLES AVAILABLE
B08014_009 Estimate!!Total:!!Male:!!No vehicle available SEX OF WORKERS BY VEHICLES AVAILABLE
B08141_002 Estimate!!Total:!!No vehicle available MEANS OF TRANSPORTATION TO WORK BY VEHICLES AVAILABLE
B08141_003 Estimate!!Total:!!1 vehicle available MEANS OF TRANSPORTATION TO WORK BY VEHICLES AVAILABLE
B08141_004 Estimate!!Total:!!2 vehicles available MEANS OF TRANSPORTATION TO WORK BY VEHICLES AVAILABLE
B08141_005 Estimate!!Total:!!3 or more vehicles available MEANS OF TRANSPORTATION TO WORK BY VEHICLES AVAILABLE
B08141_006 Estimate!!Total:!!Car, truck, or van - drove alone: MEANS OF TRANSPORTATION TO WORK BY VEHICLES AVAILABLE
B08141_007 Estimate!!Total:!!Car, truck, or van - drove alone:!!No vehicle available MEANS OF TRANSPORTATION TO WORK BY VEHICLES AVAILABLE
B08141_008 Estimate!!Total:!!Car, truck, or van - drove alone:!!1 vehicle available MEANS OF TRANSPORTATION TO WORK BY VEHICLES AVAILABLE
B08141_009 Estimate!!Total:!!Car, truck, or van - drove alone:!!2 vehicles available MEANS OF TRANSPORTATION TO WORK BY VEHICLES AVAILABLE
(noveh1 <- get_acs(
  state = "41",
  county = tri_cou,
  geography = "tract",
  variables = c("B08014_002","B08141_002"), output = "wide", 
  summary_var = "B08014_001", cache_table = T
  ) %>% 
  mutate(noveh.per= 100 * B08014_002E / summary_est) %>% 
  select(GEOID,B08014_002E, B08141_002E,summary_est, noveh.per)) %>% head()
## # A tibble: 6 x 5
##   GEOID       B08014_002E B08141_002E summary_est noveh.per
##   <chr>             <dbl>       <dbl>       <dbl>     <dbl>
## 1 41005020700          23          23        1968     1.17 
## 2 41005022500         120         120        4128     2.91 
## 3 41005023401           0           0        2339     0    
## 4 41005024100           0           0        2244     0    
## 5 41005020600          42          42        4210     0.998
## 6 41005020303           0           0        3191     0

B08014_002 = B08141_002

Vehicle Available by Household

  • HOUSEHOLD SIZE BY VEHICLES AVAILABLE

  • NUMBER OF WORKERS IN HOUSEHOLD BY VEHICLES AVAILABLE

vars %>% filter(name %in% c(paste0("B08201_00", 2:9),paste0("B08203_00", 2:9))) %>% kbl() %>% 
  kable_styling(bootstrap_options = c("striped", "hover", "condensed"), font_size = 7)
name label concept
B08201_002 Estimate!!Total:!!No vehicle available HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08201_003 Estimate!!Total:!!1 vehicle available HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08201_004 Estimate!!Total:!!2 vehicles available HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08201_005 Estimate!!Total:!!3 vehicles available HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08201_006 Estimate!!Total:!!4 or more vehicles available HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08201_007 Estimate!!Total:!!1-person household: HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08201_008 Estimate!!Total:!!1-person household:!!No vehicle available HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08201_009 Estimate!!Total:!!1-person household:!!1 vehicle available HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08203_002 Estimate!!Total:!!No vehicle available NUMBER OF WORKERS IN HOUSEHOLD BY VEHICLES AVAILABLE
B08203_003 Estimate!!Total:!!1 vehicle available NUMBER OF WORKERS IN HOUSEHOLD BY VEHICLES AVAILABLE
B08203_004 Estimate!!Total:!!2 vehicles available NUMBER OF WORKERS IN HOUSEHOLD BY VEHICLES AVAILABLE
B08203_005 Estimate!!Total:!!3 vehicles available NUMBER OF WORKERS IN HOUSEHOLD BY VEHICLES AVAILABLE
B08203_006 Estimate!!Total:!!4 or more vehicles available NUMBER OF WORKERS IN HOUSEHOLD BY VEHICLES AVAILABLE
B08203_007 Estimate!!Total:!!No workers: NUMBER OF WORKERS IN HOUSEHOLD BY VEHICLES AVAILABLE
B08203_008 Estimate!!Total:!!No workers:!!No vehicle available NUMBER OF WORKERS IN HOUSEHOLD BY VEHICLES AVAILABLE
B08203_009 Estimate!!Total:!!No workers:!!1 vehicle available NUMBER OF WORKERS IN HOUSEHOLD BY VEHICLES AVAILABLE
(noveh2 <- get_acs(
  state = "41",
  county = tri_cou,
  geography = "tract",
  variables = c("B08201_002","B08203_002"), output = "wide", # same to "B08141_002"
  summary_var = "B08201_001", cache_table = T
  ) %>% 
  mutate(noveh.per= 100 * B08201_002E / summary_est) %>% 
  select(GEOID,B08201_002E, B08203_002E, summary_est, noveh.per)) %>% head()
## # A tibble: 6 x 5
##   GEOID       B08201_002E B08203_002E summary_est noveh.per
##   <chr>             <dbl>       <dbl>       <dbl>     <dbl>
## 1 41005020700          30          30        1445     2.08 
## 2 41005022500         149         149        3022     4.93 
## 3 41005023401          18          18        1763     1.02 
## 4 41005024100          10          10        1783     0.561
## 5 41005020600          53          53        3054     1.74 
## 6 41005020303         169         169        2750     6.15

B08201_002 = B08203_002

  • TENURE BY VEHICLES AVAILABLE
vars %>% filter((grepl("occupied:!!No vehicle available",label))) %>% kbl() %>% 
  kable_styling(bootstrap_options = c("striped", "hover", "condensed"), font_size = 7)
name label concept
B25044_003 Estimate!!Total:!!Owner occupied:!!No vehicle available TENURE BY VEHICLES AVAILABLE
B25044_010 Estimate!!Total:!!Renter occupied:!!No vehicle available TENURE BY VEHICLES AVAILABLE
B25045_003 Estimate!!Total:!!Owner occupied:!!No vehicle available: TENURE BY VEHICLES AVAILABLE BY AGE OF HOUSEHOLDER
B25045_004 Estimate!!Total:!!Owner occupied:!!No vehicle available:!!Householder 15 to 34 years TENURE BY VEHICLES AVAILABLE BY AGE OF HOUSEHOLDER
B25045_005 Estimate!!Total:!!Owner occupied:!!No vehicle available:!!Householder 35 to 64 years TENURE BY VEHICLES AVAILABLE BY AGE OF HOUSEHOLDER
B25045_006 Estimate!!Total:!!Owner occupied:!!No vehicle available:!!Householder 65 years and over TENURE BY VEHICLES AVAILABLE BY AGE OF HOUSEHOLDER
B25045_012 Estimate!!Total:!!Renter occupied:!!No vehicle available: TENURE BY VEHICLES AVAILABLE BY AGE OF HOUSEHOLDER
B25045_013 Estimate!!Total:!!Renter occupied:!!No vehicle available:!!Householder 15 to 34 years TENURE BY VEHICLES AVAILABLE BY AGE OF HOUSEHOLDER
B25045_014 Estimate!!Total:!!Renter occupied:!!No vehicle available:!!Householder 35 to 64 years TENURE BY VEHICLES AVAILABLE BY AGE OF HOUSEHOLDER
B25045_015 Estimate!!Total:!!Renter occupied:!!No vehicle available:!!Householder 65 years and over TENURE BY VEHICLES AVAILABLE BY AGE OF HOUSEHOLDER
get_acs(
  state = "41",
  county = tri_cou,
  geography = "tract",
  variables = c("B25044_003","B25044_010"), output = "wide",
  summary_var = "B25044_001", cache_table = T
  ) %>% 
  mutate(noveh.per= 100 * (B25044_003E + B25044_010E)/summary_est) %>% 
  select(GEOID,B25044_003E,B25044_010E,summary_est,noveh.per) %>% head()
## # A tibble: 6 x 5
##   GEOID       B25044_003E B25044_010E summary_est noveh.per
##   <chr>             <dbl>       <dbl>       <dbl>     <dbl>
## 1 41005020700          30           0        1445     2.08 
## 2 41005022500           8         141        3022     4.93 
## 3 41005023401          18           0        1763     1.02 
## 4 41005024100          10           0        1783     0.561
## 5 41005020600           0          53        3054     1.74 
## 6 41005020303          18         151        2750     6.15

B08201_002 = B08203_002 = B25044_003 + B25044_010

Spatial Distributions

pdx_tr1 <- pdx_tr %>% left_join(noveh1,by="GEOID")
pdx_tr2 <- pdx_tr %>% left_join(noveh2,by="GEOID")
mapview(pdx_tr1, zcol = "noveh.per") + 
mapview(pdx_tr1, zcol = "B08014_002E") +
mapview(pdx_tr2, zcol = "noveh.per") + 
mapview(pdx_tr2, zcol = "B08201_002E")

Detailed household size and vehicle number

  • HOUSEHOLD SIZE BY VEHICLES AVAILABLE
vars %>% filter(grepl("B08201_", name,fixed = T)) %>% kbl() %>% 
  kable_styling(bootstrap_options = c("striped", "hover", "condensed"), font_size = 7)
name label concept
B08201_001 Estimate!!Total: HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08201_002 Estimate!!Total:!!No vehicle available HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08201_003 Estimate!!Total:!!1 vehicle available HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08201_004 Estimate!!Total:!!2 vehicles available HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08201_005 Estimate!!Total:!!3 vehicles available HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08201_006 Estimate!!Total:!!4 or more vehicles available HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08201_007 Estimate!!Total:!!1-person household: HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08201_008 Estimate!!Total:!!1-person household:!!No vehicle available HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08201_009 Estimate!!Total:!!1-person household:!!1 vehicle available HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08201_010 Estimate!!Total:!!1-person household:!!2 vehicles available HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08201_011 Estimate!!Total:!!1-person household:!!3 vehicles available HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08201_012 Estimate!!Total:!!1-person household:!!4 or more vehicles available HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08201_013 Estimate!!Total:!!2-person household: HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08201_014 Estimate!!Total:!!2-person household:!!No vehicle available HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08201_015 Estimate!!Total:!!2-person household:!!1 vehicle available HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08201_016 Estimate!!Total:!!2-person household:!!2 vehicles available HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08201_017 Estimate!!Total:!!2-person household:!!3 vehicles available HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08201_018 Estimate!!Total:!!2-person household:!!4 or more vehicles available HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08201_019 Estimate!!Total:!!3-person household: HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08201_020 Estimate!!Total:!!3-person household:!!No vehicle available HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08201_021 Estimate!!Total:!!3-person household:!!1 vehicle available HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08201_022 Estimate!!Total:!!3-person household:!!2 vehicles available HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08201_023 Estimate!!Total:!!3-person household:!!3 vehicles available HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08201_024 Estimate!!Total:!!3-person household:!!4 or more vehicles available HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08201_025 Estimate!!Total:!!4-or-more-person household: HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08201_026 Estimate!!Total:!!4-or-more-person household:!!No vehicle available HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08201_027 Estimate!!Total:!!4-or-more-person household:!!1 vehicle available HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08201_028 Estimate!!Total:!!4-or-more-person household:!!2 vehicles available HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08201_029 Estimate!!Total:!!4-or-more-person household:!!3 vehicles available HOUSEHOLD SIZE BY VEHICLES AVAILABLE
B08201_030 Estimate!!Total:!!4-or-more-person household:!!4 or more vehicles available HOUSEHOLD SIZE BY VEHICLES AVAILABLE